#ifndef VISUALKUKAROBOTHMI_H
#define VISUALKUKAROBOTHMI_H

#include <QObject>
#include <QWidget>

#include "_Interface/_global_datastruct.h"
#include "_Interface/_interface_hmi.h"
#include "_Interface/_interface_backend.h"
#include "Hmi/cRobotOpenGLView/robotdataview.h"
#include "Package/RobotOpenGLView/RoboticOpenGLView.h"

namespace Ui { class visualkukaui; }

typedef struct KUKAData{
    double KUKARIst[6];
    double KUKAAIst[6];
    double KUKAATor[6];
}ST_KUKAData;

typedef struct ForceSensorData{
    bool    SensorConnectMark;
    double  Data[6];
}ST_ForceSensorData;

class visualkukarobothmi: public HmiInterface{
        Q_OBJECT
private:
    short LocalRemote;
    Ui::visualkukaui* ui;
    ST_KUKAData mKUKAData;
    ST_ForceSensorData mForceSensorData;

public:
    visualkukarobothmi(short Local_Remote);
    ~visualkukarobothmi();

public:
    void RemoteDataRecv(QByteArray Data);
    void RemoteDataSend(QByteArray& Data);

public:
    short getBackendhandle(BackendInterface* p);
    short UiDataUpdate();
    short RobotScopeUpdate();
    short ForceScopeUpdate();

private:
    short  SignalSlotConnect();

    short UiDataInit();
    short UiDataRelease();

    short ForceScopeInit();
    short ForceScopeRelease();

    short RobotScopeInit();
    short RobotScopeRelease();

};

#endif // VISUALKUKAROBOTHMI_H
